package com.puti.doctor.service.impl;

import java.util.List;

import com.puti.doctor.domain.DoctorPatientRecord;
import com.puti.doctor.mapper.DoctorPatientRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.puti.doctor.mapper.PatientHealthMapper;
import com.puti.doctor.domain.PatientHealth;
import com.puti.doctor.service.IPatientHealthService;

/**
 * 患者-健康档案 患者-健康档案Service业务层处理
 * 
 * @author puti
 * @date 2021-04-22
 */
@Service
public class PatientHealthServiceImpl implements IPatientHealthService 
{
    @Autowired
    private PatientHealthMapper patientHealthMapper;
    @Autowired
    private DoctorPatientRecordMapper doctorPatientRecordMapper;

    /**
     * 查询患者-健康档案 患者-健康档案
     * 
     * @param healthId 患者-健康档案 患者-健康档案ID
     * @return 患者-健康档案 患者-健康档案
     */
    @Override
    public PatientHealth selectPatientHealthById(Long healthId)
    {
        return patientHealthMapper.selectPatientHealthById(healthId);
    }

    /**
     * 查询患者-健康档案 患者-健康档案列表
     * 
     * @param patientHealth 患者-健康档案 患者-健康档案
     * @return 患者-健康档案 患者-健康档案
     */
    @Override
    public List<PatientHealth> selectPatientHealthList(PatientHealth patientHealth)
    {
        return patientHealthMapper.selectPatientHealthList(patientHealth);
    }

    /**
     * 新增患者-健康档案 患者-健康档案
     * 
     * @param patientHealth 患者-健康档案 患者-健康档案
     * @return 结果
     */
    @Override
    public int insertPatientHealth(PatientHealth patientHealth)
    {
        return patientHealthMapper.insertPatientHealth(patientHealth);
    }

    /**
     * 修改患者-健康档案 患者-健康档案
     * 
     * @param patientHealth 患者-健康档案 患者-健康档案
     * @return 结果
     */
    @Override
    public int updatePatientHealth(PatientHealth patientHealth)
    {
        return patientHealthMapper.updatePatientHealth(patientHealth);
    }

    /**
     * 批量删除患者-健康档案 患者-健康档案
     * 
     * @param healthIds 需要删除的患者-健康档案 患者-健康档案ID
     * @return 结果
     */
    @Override
    public int deletePatientHealthByIds(Long[] healthIds)
    {
        return patientHealthMapper.deletePatientHealthByIds(healthIds);
    }

    /**
     * 删除患者-健康档案 患者-健康档案信息
     * 
     * @param healthId 患者-健康档案 患者-健康档案ID
     * @return 结果
     */
    @Override
    public int deletePatientHealthById(Long healthId)
    {
        return patientHealthMapper.deletePatientHealthById(healthId);
    }

    @Override
    public PatientHealth selectHealth(Long healthId, Long recordId) {
        DoctorPatientRecord doctorPatientRecord = doctorPatientRecordMapper.selectDoctorPatientRecordById(recordId);
        PatientHealth patientHealth = patientHealthMapper.selectPatientHealthById(healthId);
        patientHealth.setHealthDetail(doctorPatientRecord.getRecordDescription());
        patientHealth.setHealthDiagnosis(doctorPatientRecord.getRecordDiagnosis());
        return patientHealth;
    }
}
